package heuristicas;

import principal.Posicao;
import principal.Vertice;

public class H3 implements Heuristica {

    @Override
    public int calcula(Vertice v) {
        int somaDistRetang = 0;

        for (int i = 0; i < Vertice.ALT; i++) {
            for (int j = 0; j < Vertice.LARG; j++) {
                if (v.getPuzzle()[i][j] != puzzleDesejado[i][j]) {
                    Posicao correta = Vertice.busca(puzzleDesejado, v.getPuzzle()[i][j]);
                    int difLinha = Math.abs(correta.linha - i);
                    int difColuna = Math.abs(correta.coluna - j);
                    somaDistRetang += difLinha + difColuna;
                }
            }
        }

        return somaDistRetang;
    }
}
